/*     */ package com.zhonglee.register;
/*     */ 
/*     */ import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class BaseEncoderUtils
/*     */ {
/* 286 */   private char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
/*     */ 
/*     */   public static void main(String[] args)
/*     */   {
/*  22 */     BaseEncoderUtils b = new BaseEncoderUtils();
/*  23 */     System.out.println(b.String2Hex("xmddl369"));
/*  24 */     System.out.println(b.String2Hex("3"));
/*  25 */     System.out.println(b.OctalString2Integer("10"));
/*  26 */     System.out.println(b.Integer2OctalString(8));
/*  27 */     System.out.println(b.Integer2OctalString(b.BinaryString2Integer("1010")));
/*     */   }
/*     */ 
/*     */   public String Integer2HexString(int value)
/*     */   {
/*  45 */     return Integer.toHexString(value);
/*     */   }
/*     */ 
/*     */   public String Integer2OctalString(int value)
/*     */   {
/*  54 */     return Integer.toOctalString(value);
/*     */   }
/*     */ 
/*     */   public String Integer2BinaryString(int value)
/*     */   {
/*  63 */     return Integer.toBinaryString(value);
/*     */   }
/*     */ 
/*     */   public int HexString2Integer(String value)
/*     */   {
/*  72 */     return Integer.parseInt(value, 16);
/*     */   }
/*     */ 
/*     */   public int OctalString2Integer(String value)
/*     */   {
/*  81 */     return Integer.parseInt(value, 8);
/*     */   }
/*     */ 
/*     */   public int BinaryString2Integer(String value)
/*     */   {
/*  90 */     return Integer.parseInt(value, 2);
/*     */   }
/*     */ 
/*     */   public String md5Encode(String message)
/*     */   {
/* 100 */     return EncodeString2Hex("MD5", message);
/*     */   }
/*     */ 
/*     */   public String shaEncode(String message)
/*     */   {
/* 110 */     return EncodeString2Hex("SHA", message);
/*     */   }
/*     */ 
/*     */   public String sha256Encode(String message)
/*     */   {
/* 120 */     return EncodeString2Hex("SHA-256", message);
/*     */   }
/*     */ 
/*     */   public String sha512Encode(String message)
/*     */   {
/* 130 */     return EncodeString2Hex("SHA-512", message);
/*     */   }
/*     */ 
/*     */   public String getBASE64(String src)
/*     */   {
/* 140 */     if (src == null) {
/* 141 */       return null;
/*     */     }
/* 143 */     byte[] b = src.getBytes();
/* 144 */     BASE64Encoder encoder = new BASE64Encoder();
/* 145 */     return encoder.encode(b);
/*     */   }
/*     */ 
/*     */   public String getFromBASE64(String src)
/*     */   {
/* 155 */     if (src == null) {
/* 156 */       return null;
/*     */     }
/* 158 */     BASE64Decoder decoder = new BASE64Decoder();
/*     */     try {
/* 160 */       byte[] b = decoder.decodeBuffer(src);
/* 161 */       return new String(b); } catch (Exception e) {
/*     */     }
/* 163 */     return null;
/*     */   }
/*     */ 
/*     */   public String String2Hex(String src)
/*     */   {
/* 173 */     if (src == null) {
/* 174 */       return null;
/*     */     }
/* 176 */     byte[] b = src.getBytes();
/* 177 */     StringBuffer sb = new StringBuffer(b.length);
/*     */ 
/* 179 */     for (int i = 0; i < b.length; i++) {
/* 180 */       String sTemp = Integer.toHexString(0xFF & b[i]);
/* 181 */       if (sTemp.length() < 2) {
/* 182 */         sb.append(0);
/*     */       }
/* 184 */       sb.append(sTemp.toUpperCase());
/*     */     }
/* 186 */     return sb.toString();
/*     */   }
/*     */ 
/*     */   public String EncoderString(String code, String src)
/*     */   {
/*     */     try
/*     */     {
/* 210 */       byte[] strTemp = src.getBytes();
/* 211 */       MessageDigest messageDigest = MessageDigest.getInstance(code);
/* 212 */       messageDigest.update(strTemp);
/* 213 */       byte[] md = messageDigest.digest();
/* 214 */       return byteArray2String(md); } catch (Exception e) {
/*     */     }
/* 216 */     return null;
/*     */   }
/*     */ 
/*     */   private String byteArray2String(byte[] byteArray)
/*     */   {
/* 227 */     String encode = null;
/* 228 */     int j = byteArray.length;
/* 229 */     char[] str = new char[j * 2];
/* 230 */     int k = 0;
/* 231 */     for (int i = 0; i < j; i++) {
/* 232 */       byte byte0 = byteArray[i];
/* 233 */       str[(k++)] = this.hexDigits[(byte0 >>> 4 & 0xF)];
/* 234 */       str[(k++)] = this.hexDigits[(byte0 & 0xF)];
/*     */     }
/* 236 */     encode = new String(str);
/* 237 */     return encode;
/*     */   }
/*     */ 
/*     */   private String EncodeString2Hex(String code, String message)
/*     */   {
/* 249 */     String encode = null;
/*     */     try {
/* 251 */       MessageDigest md = MessageDigest.getInstance(code);
/* 252 */       encode = byteArrayToHexString(md.digest(message.getBytes()));
/*     */     } catch (NoSuchAlgorithmException e) {
/* 254 */       e.printStackTrace();
/*     */     }
/* 256 */     return encode;
/*     */   }
/*     */ 
/*     */   private String byteArrayToHexString(byte[] byteArray)
/*     */   {
/* 266 */     StringBuffer sb = new StringBuffer();
/* 267 */     for (int i = 0; i < byteArray.length; i++) {
/* 268 */       sb.append(byteToHexString(byteArray[i]));
/*     */     }
/* 270 */     return sb.toString();
/*     */   }
/*     */ 
/*     */   private String byteToHexString(byte byt)
/*     */   {
/* 280 */     int n = byt;
/* 281 */     if (n < 0) {
/* 282 */       n += 256;
/*     */     }
/* 284 */     return String.valueOf(this.hexDigits[(n / 16)] + this.hexDigits[(n % 16)]);
/*     */   }
/*     */ }

/* Location:           E:\java\apache-tomcat-6.0.36\webapps\btsm\WEB-INF\classes\
 * Qualified Name:     com.zhonglee.register.BaseEncoderUtils
 * JD-Core Version:    0.6.2
 */